home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / wais / waisgate / HTFile.h < prev    next >
C/C++ Source or Header  |  1995-05-09  |  3KB  |  161 lines

  1. /*                                                                      File access in libwww
  2.                                        FILE ACCESS
  3.                                              
  4.    These are routines for file access used by WWW browsers.
  5.    
  6.  */
  7. #ifndef HTFILE_H
  8. #define HTFILE_H
  9.  
  10. #include "HTFormat.h"
  11. #include "HTAccess.h"
  12. #include "HTML.h"               /* SCW */
  13.  
  14.  
  15.  
  16. /*
  17.  
  18. Controlling globals
  19.  
  20.    These flags control how directories and files are represented as hypertext, and are
  21.    typically set by the application from command line options, etc.
  22.    
  23.  */
  24. extern int HTDirAccess;         /* Directory access level */
  25.  
  26. #define HT_DIR_FORBID           0       /* Altogether forbidden */
  27. #define HT_DIR_SELECTIVE        1       /* If HT_DIR_ENABLE_FILE exists */
  28. #define HT_DIR_OK               2       /* Any accesible directory */
  29.  
  30. #define HT_DIR_ENABLE_FILE      ".www_browsable" /* If exists, can browse */
  31.  
  32. extern int HTDirReadme;         /* Include readme files in listing? */
  33.                                         /* Values: */
  34. #define HT_DIR_README_NONE      0       /* No */
  35. #define HT_DIR_README_TOP       1       /* Yes, first */
  36. #define HT_DIR_README_BOTTOM    2       /* Yes, at the end */
  37.  
  38. #define HT_DIR_README_FILE              "README"
  39.  
  40.  
  41. /*
  42.  
  43. Convert filenames between local and WWW formats
  44.  
  45.  */
  46. extern char * HTLocalName PARAMS((CONST char * name));
  47.  
  48.  
  49. /*
  50.  
  51. Make a WWW name from a full local path name
  52.  
  53.  */
  54. extern char * WWW_nameOfFile PARAMS((const char * name));
  55.  
  56.  
  57. /*
  58.  
  59. Generate the name of a cache file
  60.  
  61.  */
  62. extern char * HTCacheFileName PARAMS((CONST char * name));
  63.  
  64.  
  65. /*
  66.  
  67. Define the representation for a file suffix
  68.  
  69.  */
  70.  
  71. /* On entry,
  72. **      suffix          includes the "." if that is important (normally, yes!)
  73. **      representation  is MIME-style
  74. **      quality         an a priori judgement of the quality of such files
  75. **
  76. ** Example:   HTSetSuffix(".ps", "application/postscript", 1.0);
  77. **
  78. */
  79.  
  80. extern void HTSetSuffix PARAMS((
  81.         CONST char *    suffix,
  82.         CONST char *    representation,
  83.         float           quality));
  84.         
  85.  
  86. /*
  87.  
  88. Determine file format from file name
  89.  
  90.  */
  91.  
  92.  
  93. extern HTFormat HTFileFormat PARAMS((
  94.                 CONST char * filename));
  95.  
  96.  
  97. /*
  98.  
  99. Determine file format from file name
  100.  
  101.  */
  102.  
  103.  
  104. extern float HTFileValue PARAMS((
  105.                 CONST char * filename));
  106.  
  107.  
  108. /*
  109.  
  110. Determine write access to a file
  111.  
  112.   ON EXIT,
  113.   
  114.   return value            YES if file can be accessed and can be written to.
  115.                          
  116.  */
  117.  
  118. /*
  119.  
  120.   BUGS
  121.   
  122.    Isn't there a quicker way?
  123.    
  124.  */
  125.  
  126.  
  127. extern BOOL HTEditable PARAMS((CONST char * filename));
  128.  
  129.  
  130. /*
  131.  
  132. Determine a suitable suffix, given the representation
  133.  
  134.   ON ENTRY,
  135.   
  136.   rep                     is the atomized MIME style representation
  137.                          
  138.   ON EXIT,
  139.   
  140.   returns                 a pointer to a suitable suffix string if one has been found,
  141.                          else NULL.
  142.                          
  143.  */
  144. extern CONST char * HTFileSuffix PARAMS((
  145.                 HTAtom* rep));
  146.  
  147.  
  148.  
  149. /*
  150.  
  151. The Protocols
  152.  
  153.  */
  154. extern HTProtocol HTFTP, HTFile;
  155.  
  156. #endif /* HTFILE_H */
  157.  
  158. /*
  159.  
  160.    end of HTFile  */
  161.